Telegram Group »
United States »
Библиотека пхпшника | PHP Laravel Symfony CodeIgniter » Telegram Webview
Хотите писать код быстрее и кайфовать от процесса? Вот подборка горячих клавиш, которые реально облегчают жизнь:
🔥 Навигация
🔹 Ctrl + P — быстро открыть любой файл по имени.
🔹 Ctrl + Shift + O — перейти к нужной функции или методу в файле.
🔹 Ctrl + Tab — быстро переключаться между последними файлами.
💬 А какие хоткеи у вас самые любимые? Может, есть свои "скрытые фишки" работы в VS Code? Делитесь в комментариях👇
Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Туториал: использование Go из PHP через FFI
На Хабре вышел классный гайд о том, как через FFI легко подключить функции на Go прямо в PHP. Минимум магии, максимум пользы: прирост производительности, меньше тормозов на тяжёлых задачах и новый уровень возможностей для ваших проектов 🚀
В статье:
🔸 Пояснение концепции работы через FFI;
🔸 Разбор примера проекта на GitHub;
🔸 Легкий запуск через Docker Compose.
Если вы ищете способ сделать ваш PHP-код быстрее и хотите попробовать Go без переписывания всего проекта — обязательно к прочтению!
👉 Хабр
На Хабре вышел классный гайд о том, как через FFI легко подключить функции на Go прямо в PHP. Минимум магии, максимум пользы: прирост производительности, меньше тормозов на тяжёлых задачах и новый уровень возможностей для ваших проектов 🚀
В статье:
🔸 Пояснение концепции работы через FFI;
🔸 Разбор примера проекта на GitHub;
🔸 Легкий запуск через Docker Compose.
Если вы ищете способ сделать ваш PHP-код быстрее и хотите попробовать Go без переписывания всего проекта — обязательно к прочтению!
👉 Хабр
💻 Подборка новостей по PHP за неделю:
🔎 NativePHP Mobile v1: создавайте нативные мобильные приложения на Laravel
2 мая состоялся релиз NativePHP Mobile v1, позволяющего разработчикам создавать нативные приложения для iOS и Android без использования Swift, Kotlin или Flutter. Теперь можно использовать привычные инструменты Laravel для доступа к нативным функциям устройств, таким как камера, биометрическая аутентификация, push-уведомления и другие. Это не гибридное решение, а полноценные нативные приложения, работающие на Laravel.
🔎 Laravel 12.10: приведение атрибутов Eloquent к объектам с использованием коллекций
В версии 12.10 фреймворка Laravel появилась возможность использовать приведение атрибутов Eloquent к объектам с помощью коллекций.
🔎 Symfony 7.3: новые ограничения Slug и Twig в компоненте Validator
В предстоящей версии Symfony 7.3 добавлены два новых ограничения в компонент Validator: Slug для проверки корректности URL-идентификаторов и Twig для валидации шаблонов Twig.
🔎 Неделя Symfony #956 (14–20 апреля 2025 года)
🔎 NativePHP Mobile v1: создавайте нативные мобильные приложения на Laravel
2 мая состоялся релиз NativePHP Mobile v1, позволяющего разработчикам создавать нативные приложения для iOS и Android без использования Swift, Kotlin или Flutter. Теперь можно использовать привычные инструменты Laravel для доступа к нативным функциям устройств, таким как камера, биометрическая аутентификация, push-уведомления и другие. Это не гибридное решение, а полноценные нативные приложения, работающие на Laravel.
🔎 Laravel 12.10: приведение атрибутов Eloquent к объектам с использованием коллекций
В версии 12.10 фреймворка Laravel появилась возможность использовать приведение атрибутов Eloquent к объектам с помощью коллекций.
🔎 Symfony 7.3: новые ограничения Slug и Twig в компоненте Validator
В предстоящей версии Symfony 7.3 добавлены два новых ограничения в компонент Validator: Slug для проверки корректности URL-идентификаторов и Twig для валидации шаблонов Twig.
🔎 Неделя Symfony #956 (14–20 апреля 2025 года)
Что будет выведено в результате работы скрипта?
Anonymous Poll
62%
int(8) int(5)
7%
int(8) int(5) int(7) int(4)
26%
int(8) int(7) int(5) int(4)
5%
int(7) int(4)
💀 Джуны: game over или новый уровень сложности?
Рекрутеры ищут только сеньоров, AI отбирает хлеб у начинающих, а рынок переполнен выпускниками буткемпов.
➡️ Разбираемся, действительно ли наступил конец эпохи джуниоров и как молодым специалистам адаптироваться к новым реалиям.
🐸 Библиотека программиста
Рекрутеры ищут только сеньоров, AI отбирает хлеб у начинающих, а рынок переполнен выпускниками буткемпов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Конкурс: 30 000 ₽ за самую смешную IT-новость
Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.
📅 Сроки: прием новостей до 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Осталась неделя — ждем ваших новостей!
Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.
📅 Сроки: прием новостей до 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Осталась неделя — ждем ваших новостей!
Google Docs
Конкурс на самую смешную IT-новость
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переворачиваете её с ног на голову, чтобы смеялись…
Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переворачиваете её с ног на голову, чтобы смеялись…
⌨️ Топ-вакансий по PHP за неделю
PHP-разработчик (Junior+/Middle-) — 175 000 ₽, офис (Москва)
Lead Backend Engineer (PHP) — от 420 000 ₽ до 550 000 ₽, удалёнка (Москва)
Junior+ PHP Developer — от 150 000 до 180 000 ₽, удалёнка (Москва)
PHP Stack Developer— от 200 000 ₽, удалёнка (Москва)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
PHP-разработчик (Junior+/Middle-) — 175 000 ₽, офис (Москва)
Lead Backend Engineer (PHP) — от 420 000 ₽ до 550 000 ₽, удалёнка (Москва)
Junior+ PHP Developer — от 150 000 до 180 000 ₽, удалёнка (Москва)
PHP Stack Developer— от 200 000 ₽, удалёнка (Москва)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
🚀 Как ускорить массовую отправку HTTP-запросов в PHP
🔍 Постановка задачи:
Есть скрипт на PHP, который должен отправлять множество HTTP-запросов. Нужно сделать это как можно быстрее. Очевидное решение — параллельная отправка.
🔧 Шаг 1: последовательная обработка
Простой цикл с
⚙️ Шаг 2: повторное использование curl-хэндла
Инициализируем
⚡ Шаг 3: параллельная отправка с curl_multi_
Используем
📦 Шаг 4: отправка батчами (batching)
Если запросов сотни или тысячи, одновременно всё не потянет даже мощный сервер. Решение — отправка пакетами, например по 3. Это позволяет контролировать нагрузку. В нашем примере — ~0.8 секунды на 10 запросов.
🔗 Читать статью
Библиотека пхпшника #буст
🔍 Постановка задачи:
Есть скрипт на PHP, который должен отправлять множество HTTP-запросов. Нужно сделать это как можно быстрее. Очевидное решение — параллельная отправка.
🔧 Шаг 1: последовательная обработка
Простой цикл с
curl_init()
и curl_exec()
на каждый URL. Результат: 10 запросов выполняются за ~4.4 секунды.⚙️ Шаг 2: повторное использование curl-хэндла
Инициализируем
curl
один раз и переиспользуем. Время выполнения снижается до ~1.7 секунды.⚡ Шаг 3: параллельная отправка с curl_multi_
Используем
curl_multi_init()
и запускаем запросы одновременно. Итог: всего 0.5 секунды на 10 запросов. Почти в 9 раз быстрее, чем изначально.📦 Шаг 4: отправка батчами (batching)
Если запросов сотни или тысячи, одновременно всё не потянет даже мощный сервер. Решение — отправка пакетами, например по 3. Это позволяет контролировать нагрузку. В нашем примере — ~0.8 секунды на 10 запросов.
🔗 Читать статью
Библиотека пхпшника #буст
📊 FastExcelWriter: Лёгкое и быстрое создание Excel-файлов на PHP
Если вы сталкивались с генерацией больших Excel-файлов на PHP, вы, вероятно, знакомы с PhpSpreadsheet. Хотя она функциональна, при работе с большими данными возможны проблемы с производительностью и потреблением памяти.
👨💻 FastExcelWriter — альтернатива PhpSpreadsheet с упором на скорость и экономию ресурсов. Вместо хранения данных в памяти, библиотека пишет строки напрямую в файл, снижая нагрузку на систему.
🔧 Преимущества FastExcelWriter:
🚀 Генерация файлов в 7–9 раз быстрее PhpSpreadsheet
💾 Минимальное потребление памяти благодаря построчной записи
🎨 Поддержка стилей, форматирования, изображений, диаграмм и примечаний
🧩 Простой и лаконичный API для разработчиков
👉 Хабр
Если вы сталкивались с генерацией больших Excel-файлов на PHP, вы, вероятно, знакомы с PhpSpreadsheet. Хотя она функциональна, при работе с большими данными возможны проблемы с производительностью и потреблением памяти.
👨💻 FastExcelWriter — альтернатива PhpSpreadsheet с упором на скорость и экономию ресурсов. Вместо хранения данных в памяти, библиотека пишет строки напрямую в файл, снижая нагрузку на систему.
🔧 Преимущества FastExcelWriter:
🚀 Генерация файлов в 7–9 раз быстрее PhpSpreadsheet
💾 Минимальное потребление памяти благодаря построчной записи
🎨 Поддержка стилей, форматирования, изображений, диаграмм и примечаний
🧩 Простой и лаконичный API для разработчиков
👉 Хабр
🛠️ Команда дня: Быстрая проверка синтаксиса PHP-файла
Зачем это нужно?
Когда вы работаете с PHP, особенно на больших проектах, важно быть уверенным, что в коде нет синтаксических ошибок. Перед коммитом, запуском CI или даже просто после правки пары строк — эта команда помогает убедиться, что всё в порядке.
Как это применять на практике:
В pre-commit хуке Git. Добавьте в
Это не даст закоммитить файлы с синтаксическими ошибками.
В CI-пайплайне. Добавьте шаг «PHP lint check» перед выполнением тестов.
На лету. Если IDE не показывает ошибку, а сайт падает — это один из быстрых способов понять, где проблема.
🧠 Микросоветы:
🔸 Команда не исполняет код, только проверяет синтаксис. Это безопасно.
🔸 Полезна в проектах без строгого статического анализа.
🔸 Используйте в сочетании с PHPStan или Psalm, но как быстрый первый барьер — незаменима.
Библиотека пхпшника #буст
php -l файл.php
-l
(или --syntax-check
) — от слова lint, проверка на синтаксические ошибки.Зачем это нужно?
Когда вы работаете с PHP, особенно на больших проектах, важно быть уверенным, что в коде нет синтаксических ошибок. Перед коммитом, запуском CI или даже просто после правки пары строк — эта команда помогает убедиться, что всё в порядке.
Как это применять на практике:
В pre-commit хуке Git. Добавьте в
.git/hooks/pre-commit
:find . -name «*.php» -exec php -l {} \;
Это не даст закоммитить файлы с синтаксическими ошибками.
В CI-пайплайне. Добавьте шаг «PHP lint check» перед выполнением тестов.
На лету. Если IDE не показывает ошибку, а сайт падает — это один из быстрых способов понять, где проблема.
🧠 Микросоветы:
🔸 Команда не исполняет код, только проверяет синтаксис. Это безопасно.
🔸 Полезна в проектах без строгого статического анализа.
🔸 Используйте в сочетании с PHPStan или Psalm, но как быстрый первый барьер — незаменима.
Библиотека пхпшника #буст
💥 PHP 8.5 уже на подходе! Что нового?
Выход новой версии запланирован на ноябрь 2025, и уже сейчас в разработке — множество фич, нацеленных на удобство и безопасность разработчиков. Вот краткий обзор актуального статуса:
🔄 На голосовании
▪️
▪️
✅ Приняты
▪️ Атрибуты на константах, включая
▪️ Поддержка графем в
🚀 Уже реализованы
▪️ Ассиметричный доступ к статическим свойствам: можно читать публично, а писать только изнутри.
▪️
▪️
▪️ Замыкания и callable в константных выражениях — мощный шаг к функциональному стилю.
▪️ Улучшенные backtrace’ы, cURL с шарингом DNS-кэша между сессиями, и обновлённый
Ждём релиз в ноябре! 🔧🔥
Выход новой версии запланирован на ноябрь 2025, и уже сейчас в разработке — множество фич, нацеленных на удобство и безопасность разработчиков. Вот краткий обзор актуального статуса:
🔄 На голосовании
▪️
array_first()
и array_last()
— читаем первый и последний элемент массива без возни с указателями.▪️
never
для параметров — уточнение строгой типизации: функции не могут быть переданы аргументы, которые могут привести к возврату.✅ Приняты
▪️ Атрибуты на константах, включая
#[Deprecated]
.▪️ Поддержка графем в
levenshtein()
— теперь сравнение строк с учётом сложных Unicode-символов.🚀 Уже реализованы
▪️ Ассиметричный доступ к статическим свойствам: можно читать публично, а писать только изнутри.
▪️
#[\NoDiscard]
— предупреждение, если проигнорирован важный return
.▪️
get_error_handler()
и get_exception_handler()
— простой способ узнать текущие хендлеры.▪️ Замыкания и callable в константных выражениях — мощный шаг к функциональному стилю.
▪️ Улучшенные backtrace’ы, cURL с шарингом DNS-кэша между сессиями, и обновлённый
Directory
как полноценный объект.Ждём релиз в ноябре! 🔧🔥
❓ Enums: Это просто круто или я слишком часто их использую?
Наш подписчик спрашивает:
🔹 Что скажете?
Как вы используете enums в своем коде? Помогают ли они вам сделать код чище и понятнее, или
это просто модная фишка, которой не стоит увлекаться?
💬 Делитесь в комментариях:
— Как вы используете enums в своих проектах?
— Есть ли случаи, когда их использование не оправдано?
— Как enums помогают вам с поддержкой и читаемостью кода?
Библиотека пхпшника #междусобойчик
Наш подписчик спрашивает:
Когда я впервые узнал про enums, не совсем понимал, зачем они нужны. Но теперь использую их довольно часто — в основном, для хранения значений в базе данных или для создания конфигов с ярлыками.
🔹 Что скажете?
Как вы используете enums в своем коде? Помогают ли они вам сделать код чище и понятнее, или
это просто модная фишка, которой не стоит увлекаться?
💬 Делитесь в комментариях:
— Как вы используете enums в своих проектах?
— Есть ли случаи, когда их использование не оправдано?
— Как enums помогают вам с поддержкой и читаемостью кода?
Библиотека пхпшника #междусобойчик
📤 Как устроены HTTP-заголовки: простая схема для чайников и не только
На картинке выше — вся суть общения между браузером и сервером через HTTP. Что передаётся, зачем и откуда берётся — смотрим по пунктам👇
➡️ HTTP Request Header — это то, что отправляет браузер
• Accept: что ожидаем получить (например, изображение webp)
• Accept-Encoding: в каком виде (например, gzip)
• Cookie: ваши печеньки, которые шлём серверу
• Cache-Control: можно ли закэшировать и на сколько
• Referer: с какой страницы пришёл запрос
• User-Agent: кто именно лезет на сервер (браузер и ОС)
⬇️ HTTP Response Header — это то, что вернёт сервер
• Content-Type: что именно он отдал (например, image/webp)
• Set-Cookie: отправка новой печеньки в ответ
• Server: какой сервер обслужил вас (gws, например, Google Web Server)
• Access-Control-Allow-Origin: можно ли делиться ответом с другими доменами
• Date: дата и время ответа
• Cache-Control: как долго можно хранить ответ в кэше
Понимание HTTP-заголовков критично для разработки API, настройки кэша, защиты данных и дебага багов в сети. Без них — ни туда, ни сюда.
Библиотека пхпшника #буст
На картинке выше — вся суть общения между браузером и сервером через HTTP. Что передаётся, зачем и откуда берётся — смотрим по пунктам👇
• Accept: что ожидаем получить (например, изображение webp)
• Accept-Encoding: в каком виде (например, gzip)
• Cookie: ваши печеньки, которые шлём серверу
• Cache-Control: можно ли закэшировать и на сколько
• Referer: с какой страницы пришёл запрос
• User-Agent: кто именно лезет на сервер (браузер и ОС)
• Content-Type: что именно он отдал (например, image/webp)
• Set-Cookie: отправка новой печеньки в ответ
• Server: какой сервер обслужил вас (gws, например, Google Web Server)
• Access-Control-Allow-Origin: можно ли делиться ответом с другими доменами
• Date: дата и время ответа
• Cache-Control: как долго можно хранить ответ в кэше
Понимание HTTP-заголовков критично для разработки API, настройки кэша, защиты данных и дебага багов в сети. Без них — ни туда, ни сюда.
Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
CRUD на PHP с использованием файберов и пула соединений с PostgreSQL
В новой статье на Хабре автор делится опытом создания прототипа CRUD-приложения, использующего файберы и пул соединений с PostgreSQL. Результаты впечатляют: один процесс PHP CLI обрабатывает 10 параллельных запросов за 2 секунды, благодаря асинхронной обработке и неблокирующему вводу-выводу.
🔍 Ключевые моменты:
Файберы позволяют обрабатывать несколько запросов в одном процессе, улучшая производительность.
Неблокирующий драйвер PostgreSQL обеспечивает асинхронное взаимодействие с базой данных.
Сравнение с сервером на базе PHP-FPM показало значительное преимущество в
производительности при использовании файлов.
💡 Для кого это будет полезно:
🔸 Разработчикам, стремящимся повысить производительность своих приложений.
🔸 Тем, кто интересуется асинхронным программированием в PHP.
🔸 Специалистам, работающим с PostgreSQL и желающим оптимизировать взаимодействие с базой данных.
🔗 Хабр
В новой статье на Хабре автор делится опытом создания прототипа CRUD-приложения, использующего файберы и пул соединений с PostgreSQL. Результаты впечатляют: один процесс PHP CLI обрабатывает 10 параллельных запросов за 2 секунды, благодаря асинхронной обработке и неблокирующему вводу-выводу.
🔍 Ключевые моменты:
Файберы позволяют обрабатывать несколько запросов в одном процессе, улучшая производительность.
Неблокирующий драйвер PostgreSQL обеспечивает асинхронное взаимодействие с базой данных.
Сравнение с сервером на базе PHP-FPM показало значительное преимущество в
производительности при использовании файлов.
💡 Для кого это будет полезно:
🔸 Разработчикам, стремящимся повысить производительность своих приложений.
🔸 Тем, кто интересуется асинхронным программированием в PHP.
🔸 Специалистам, работающим с PostgreSQL и желающим оптимизировать взаимодействие с базой данных.
🔗 Хабр
Composer vs. «сам всё подключу»
Когда-то мы писали
Теперь —
🔧 Composer — это порядок, автозагрузка, контроль версий, удобство.
Но стоит добавить одну библиотеку — и за тобой тянется вся экосистема.
А ещё — конфликты версий, сломанные деплои и вечное: «у меня работает, у тебя — нет».
🤓 А если без Composer?
– Полный контроль: сам подключил, сам знаешь, где что лежит.
– Быстрее, проще, без магии.
– Но вот только кто будет следить за обновлениями и зависимостями вручную?
💥 Стоит ли тащить библиотеку ради одной функции?
Или лучше скопировать нужный метод и жить спокойно?
💬 Делитесь болью и лайфхаками:
Вы в команде «только Composer» или «никаких зависимостей — только хардкор»?
Когда-то мы писали
require_once 'helpers.php';
и не парились.Теперь —
composer require
, autoload
, 100500 зависимостей и 20 секунд на запуск composer install
.🔧 Composer — это порядок, автозагрузка, контроль версий, удобство.
Но стоит добавить одну библиотеку — и за тобой тянется вся экосистема.
guzzlehttp/guzzle
? Привет, залежи зависимостей.А ещё — конфликты версий, сломанные деплои и вечное: «у меня работает, у тебя — нет».
🤓 А если без Composer?
– Полный контроль: сам подключил, сам знаешь, где что лежит.
– Быстрее, проще, без магии.
– Но вот только кто будет следить за обновлениями и зависимостями вручную?
💥 Стоит ли тащить библиотеку ради одной функции?
Или лучше скопировать нужный метод и жить спокойно?
💬 Делитесь болью и лайфхаками:
Вы в команде «только Composer» или «никаких зависимостей — только хардкор»?
PHP Datatypes: Строгий и безопасный способ работы с примитивными типами данных
Эта библиотека представляет гибкий, но строгий способ работы с примитивными типами данных, такими как целые числа, плавающие и строки, в PHP. Она делает акцент на безопасности типов и точности, поддерживая операции для подписанных и беззнаковых целых чисел (Int8, UInt8 и т.д.) и различных форматов с плавающей точкой (Float32, Float64 и т.д.).
Для чего это нужно:
🟢Безопасность типов: Явно определяя типы данных, например UInt8, вы устраняете риск проникновения недопустимых значений в ваше приложение. Например, использование целых чисел без знака гарантирует, что значение останется в допустимых диапазонах, обеспечивая защиту от неожиданного ввода данных.
🟢Точность: Работа с точными значениями, особенно с числами с плавающей точкой, может быть сложной в PHP из-за того, как он управляет плавающими числами нативно.
🟢Защита диапазонов: Указывая точные диапазоны, вы можете предотвратить такие проблемы, как переполнение или недополнение, которые часто остаются незамеченными в языках с динамической типизацией.
🟢Удобство чтения и обслуживания: Явные типы данных улучшают читаемость кода. Когда разработчик читает ваш код, он сразу же понимает, какой тип значения ожидается и какие ограничения на него накладываются. Это повышает удобство сопровождения в долгосрочной перспективе.
🔗 Github
Библиотека пхпшника #инструменты
Эта библиотека представляет гибкий, но строгий способ работы с примитивными типами данных, такими как целые числа, плавающие и строки, в PHP. Она делает акцент на безопасности типов и точности, поддерживая операции для подписанных и беззнаковых целых чисел (Int8, UInt8 и т.д.) и различных форматов с плавающей точкой (Float32, Float64 и т.д.).
Для чего это нужно:
🟢Безопасность типов: Явно определяя типы данных, например UInt8, вы устраняете риск проникновения недопустимых значений в ваше приложение. Например, использование целых чисел без знака гарантирует, что значение останется в допустимых диапазонах, обеспечивая защиту от неожиданного ввода данных.
🟢Точность: Работа с точными значениями, особенно с числами с плавающей точкой, может быть сложной в PHP из-за того, как он управляет плавающими числами нативно.
🟢Защита диапазонов: Указывая точные диапазоны, вы можете предотвратить такие проблемы, как переполнение или недополнение, которые часто остаются незамеченными в языках с динамической типизацией.
🟢Удобство чтения и обслуживания: Явные типы данных улучшают читаемость кода. Когда разработчик читает ваш код, он сразу же понимает, какой тип значения ожидается и какие ограничения на него накладываются. Это повышает удобство сопровождения в долгосрочной перспективе.
🔗 Github
Библиотека пхпшника #инструменты